package modelo.armas;

import static modelo.SetUps.DANIO_COHETE;
import static modelo.SetUps.ALCANCE_COHETE;
import static modelo.SetUps.VELOCIDAD_COHETE;
import static modelo.SetUps.CARGA_COHETE;
import modelo.desplazadores.DesplazadorLineaRecta;
import modelo.util.Vector;

public class Cohete extends Armas {

	public Cohete(Actitud actitud) {
		carga = new CargaAgotable(CARGA_COHETE);
		this.actitud = actitud;
	}

	public Balas disparar(Vector posicion, Vector direccion) {
		if (!(this.puedeSeguirDisparando())) {
			throw new FaltaDeCargaException();
		}
		carga.descontar();
		Balas bala = actitud.disparar(DANIO_COHETE, ALCANCE_COHETE);
		DesplazadorLineaRecta desplazador = new DesplazadorLineaRecta(posicion,
				direccion, VELOCIDAD_COHETE);
		bala.setDesplazador(desplazador);
		bala.setTipoBala(BalaCohete.getInstance());
		return bala;
	}

}
